import { areaList } from '../components/areaData.js'
import api from '../../../utils/api'
var index = [18, 0, 0];

var t = 0;
var show = false;
var moveY = 200;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    show: false,

    "address": "",
    "receiver": "",
    "addressregion": "",
    "mobile": "",
    "defau": false,
    "id": "",

    areaList: {
        province_list: areaList.province_list, //省
        city_list: areaList.city_list,  //市
        county_list: areaList.county_list //区
    },
    // value: [0, 0, 0],
    // provArray: [],
    // cityArray: [],
    // areaArray: [],
    // province: "",
    // city: "",
    // area: "",
    // provinceId: 0,
    // cityId: 0,
    // areaId: 0,
    // receiver: "",
    // mobile: "",
    // addr: "",
    // addrId: 0
  },
  validData() {
    const { address, receiver, addressregion, mobile } = this.data

    if(!receiver) {
        wx.showToast({
            icon: 'none',
            title: '请输入收货人',
        })
        return false
    }
    const phoneNumberRegex = /^1[3456789]\d{9}$/;
    if (!phoneNumberRegex.test(mobile)) {
        wx.showToast({
            icon: 'none',
            title: '请输入正确的手机号码',
        })
        return false
    }

    if (!addressregion) {
        wx.showToast({
            icon: 'none',
            title: '请选择所在地区',
        })
        return false
    }
    if(!address) {
        wx.showToast({
            icon: 'none',
            title: '请输入详细地址',
        })
        return false
    }
    return true
  },
  onSelectedItem(e) {
        this.setData({
            defau: e.detail ? 1 : 0
        });
  },
  getDetail() {
    const id = this.data?.id || ''
    if(!id) { return }
    const _this = this
    api.get(`/api/hxhealth/deliveraddress/load/${id}`).then(res => {
        const data = res?.[0] || {}
        _this.setData({
            "address": data?.address || '',
            "receiver": data?.receiver || '',
            "addressregion": data?.addressregion || '',
            "mobile": data?.mobile || '',
            "defau": data?.defau == 1 ? true : false,
            "id": data?.id || '',
        })
        
    }).catch(e => {
        wx.showToast({
            icon: 'none',
            title: '加载失败：' + e,
        })
    })
  },
  saveAddress() {
    if (this.validData()) {
        wx.showLoading({
            mask: true
        });
        const { address, receiver, addressregion, mobile, defau, id } = this.data
        api.post(`/api/hxhealth/deliveraddress/save`, {
            data: { address, receiver, addressregion, mobile, defau: defau ? 1:0, id }
        }).then(res => {
            wx.showToast({
                title: '保存成功',
                complete: () => {
                    wx.navigateBack({
                        delta: 1
                    })
                }
            })
            
        }).catch(e => {
            wx.showToast({
                icon: 'none',
                title: '保存失败：' + e,
            })
        })
      }
  },
  // 确认选择省市区
  onAreaConfirm(e) {
    let values = e.detail.values
    let addr_value = `${values[0].name},${values[1].name},${values[2].name}`;
    setTimeout(() => {
        this.setData({
            province: values[0].name, // 省份
            city: values[1].name, // 城市
            district: values[2].name, // 区县

            addressregion: addr_value,
            show: false,
        })
    })
},
  showArea() {
    this.setData({
        show: true
    })
  },
  onClose() {
    const _this = this
    setTimeout(() => {
        _this.setData({
            show: false
        })
    })
  },
  onLoad: function (options) {
    const { id } = options
    this.setData({
        id: id || ''
    })
  },

//   initCityData: function (provinceId, cityId, areaId) {
//     var ths = this;
//     wx.showLoading();
//     var params = {
//       url: "/p/area/listByPid",
//       method: "GET",
//       data: {
//         pid: 0
//       },
//       callBack: function (res) {
//         //console.log(res)
//         ths.setData({
//           provArray: res
//         });
//         if (provinceId) {
//           for (var index in res) {
//             if (res[index].areaId == provinceId) {
//               ths.setData({
//                 value: [index, ths.data.value[1], ths.data.value[2]]
//               });
//             }
//           }
//         }
//         ths.getCityArray(provinceId ? provinceId : res[0].areaId, cityId, areaId);
//         wx.hideLoading();
//       }
//     }
//     http.request(params);
//   },

//   /**
// * 生命周期函数--监听页面显示
// */
  onShow: function () {
    this.getDetail()
  },

//   //滑动事件
//   bindChange: function (e) {
//     var ths = this;
//     var val = e.detail.value

//     //判断滑动的是第几个column
//     //若省份column做了滑动则定位到地级市和区县第一位
//     if (index[0] != val[0]) {
//       val[1] = 0;
//       val[2] = 0;
//       //更新数据
//       ths.getCityArray(this.data.provArray[val[0]].areaId);//获取地级市数据
//     } else {    //若省份column未做滑动，地级市做了滑动则定位区县第一位
//       if (index[1] != val[1]) {
//         val[2] = 0;
//         //更新数据
//         ths.getAreaArray(this.data.cityArray[val[1]].areaId);//获取区县数据
//       } else {

//       }
//     }
//     index = val;
//     this.setData({
//       value: [val[0], val[1], val[2]],
//     })
//     ths.setData({
//       province: ths.data.provArray[ths.data.value[0]].areaName,
//       city: ths.data.cityArray[ths.data.value[1]].areaName,
//       area: ths.data.areaArray[ths.data.value[2]].areaName,
//       provinceId: ths.data.provArray[ths.data.value[0]].areaId,
//       cityId: ths.data.cityArray[ths.data.value[1]].areaId,
//       areaId: ths.data.areaArray[ths.data.value[2]].areaId
//     })
//   },

  onReady: function () {
  },
//   //移动按钮点击事件
//   translate: function (e) {
//     if (t == 0) {
//       moveY = 0;
//       show = false;
//       t = 1;
//     } else {
//       moveY = 200;
//       show = true;
//       t = 0;
//     }
//     this.setData({
//       show: true
//     });
//     // this.animation.translate(arr[0], arr[1]).step();
//     this.animationEvents(this, moveY, show);

//   },
//   //隐藏弹窗浮层
//   hiddenFloatView(e) {
//     //console.log(e);
//     moveY = 200;
//     show = true;
//     t = 0;
//     this.animationEvents(this, moveY, show);

//   },

//   //动画事件
//   animationEvents: function (that, moveY, show) {
//     //console.log("moveY:" + moveY + "\nshow:" + show);
//     that.animation = wx.createAnimation({
//       transformOrigin: "50% 50%",
//       duration: 400,
//       timingFunction: "ease",
//       delay: 0
//     }
//     )
//     that.animation.translateY(moveY + 'vh').step()

//     that.setData({
//       animation: that.animation.export()
//     })

//   },

  /**
   * 根据省份ID获取 城市数据
   */
//   getCityArray: function (provinceId, cityId, areaId) {
//     var ths = this;
//     var params = {
//       url: "/p/area/listByPid",
//       method: "GET",
//       data: {
//         pid: provinceId
//       },
//       callBack: function (res) {
//         //console.log(res)
//         ths.setData({
//           cityArray: res
//         });
//         if (cityId) {
//           for (var index in res) {
//             if (res[index].areaId == cityId) {
//               ths.setData({
//                 value: [ths.data.value[0], index, ths.data.value[2]]
//               });
//             }
//           }
//         }
//         ths.getAreaArray(cityId ? cityId : res[0].areaId, areaId);
//         wx.hideLoading();
//       }
//     }
//     http.request(params);
//   },

//   /**
//     * 根据城市ID获取 区数据
//     */
//   getAreaArray: function (cityId, areaId) {
//     var ths = this;
//     var params = {
//       url: "/p/area/listByPid",
//       method: "GET",
//       data: {
//         pid: cityId
//       },
//       callBack: function (res) {
//         //console.log(res)
//         ths.setData({
//           areaArray: res
//         });
//         if (areaId) {

//           for (var _index in res) {
//             if (res[_index].areaId == areaId) {
//               ths.setData({
//                 value: [ths.data.value[0], ths.data.value[1], _index]
//               });
//             }
//           }

//           index = ths.data.value;

//           ths.setData({
//             province: ths.data.province,
//             city: ths.data.city,
//             area: ths.data.area,
//             provinceId: ths.data.provinceId,
//             cityId: ths.data.cityId,
//             areaId: ths.data.areaId
//           })

//         } else {
//           ths.setData({
//             province: ths.data.provArray[ths.data.value[0]].areaName,
//             city: ths.data.cityArray[ths.data.value[1]].areaName,
//             area: ths.data.areaArray[ths.data.value[2]].areaName,
//             provinceId: ths.data.provArray[ths.data.value[0]].areaId,
//             cityId: ths.data.cityArray[ths.data.value[1]].areaId,
//             areaId: ths.data.areaArray[ths.data.value[2]].areaId
//           })
//         }

//         wx.hideLoading();
//       }
//     }
//     http.request(params);
//   },

//   bindRegionChange: function (e) {
//     //console.log('picker发送选择改变，携带值为', e.detail.value)
//     this.setData({
//       region: e.detail.value
//     })
//   },


  /**
   * 保存地址
   */
//   onSaveAddr: function () {
//     var ths = this;
//     var receiver = ths.data.receiver;
//     var mobile = ths.data.mobile;
//     var addr = ths.data.addr;

//     if (!receiver) {
//       wx.showToast({
//         title: '请输入收货人姓名',
//         icon: "none"
//       })
//       return;
//     }
//     if (!mobile) {
//       wx.showToast({
//         title: '请输入手机号码',
//         icon: "none"
//       })
//       return;
//     }
//     var regexp = /^[1]([3-9])[0-9]{9}$/;
//     if (!regexp.test(mobile)) {
//       wx.showToast({
//         title: '请输入正确的手机号码',
//         icon: "none"
//       })
//       return;
//     }
//     if (!addr) {
//       wx.showToast({
//         title: '请输入详细地址',
//         icon: "none"
//       })
//       return;
//     }

//     wx.showLoading();
//     var url = "/p/address/addAddr";
//     var method = "POST";
//     if (ths.data.addrId != 0) {
//       url = "/p/address/updateAddr";
//       method = "PUT";
//     }
//     //添加或修改地址
//     var params = {
//       url: url,
//       method: method,
//       data: {
//         receiver: ths.data.receiver,
//         mobile: ths.data.mobile,
//         addr: ths.data.addr,
//         province: ths.data.province,
//         provinceId: ths.data.provinceId,
//         city: ths.data.city,
//         cityId: ths.data.cityId,
//         areaId: ths.data.areaId,
//         area: ths.data.area,
//         userType: 0,
//         addrId: ths.data.addrId
//       },
//       callBack: function (res) {
//         wx.hideLoading();
//         wx.navigateBack({
//           delta: 1
//         })
//       }
//     }
//     // http.request(params);
//   },

  onReceiverInput: function (e) {
    this.setData({
      receiver: e.detail
    });
  },

  onMobileInput: function (e) {
    this.setData({
      mobile: e.detail
    });
  },

  onAddrInput: function (e) {
    this.setData({
      address: e.detail || ''
    });
  },


  //删除配送地址
//   onDeleteAddr: function (e) {
//     var ths = this;
//     wx.showModal({
//       title: '',
//       content: '确定要删除此收货地址吗？',
//       confirmColor: "#eb2444",
//       success(res) {
//         if (res.confirm) {
//           var addrId = ths.data.addrId;
        
//           wx.showLoading();
//           var params = {
//             url: "/p/address/deleteAddr/" + addrId,
//             method: "DELETE",
//             data: {},
//             callBack: function (res) {
//               wx.hideLoading();
//               wx.navigateBack({
//                 delta: 1
//               })
//             }
//           }
//           http.request(params);
//         } else if (res.cancel) {
//           console.log('用户点击取消')
//         }
//       }
//     })

//   },

})